// 成品入库 API
import request from "@/utils/request";

// 成品入库 VO 定义（JavaScript 对象形式）
export const ProdStockInVO = {
  // 主键ID
  id: 0,
  // 入库编号
  inNo: "",
  // 入库日期
  inDate: null,
  // 入库类型
  inType: "",
  // 仓库编码
  warehouseCode: "",
  // 入库计划明细编码
  ywDetailCode: "",
  // 仓库名称
  warehouseName: "",
  // 工序编码
  processNo: "",
  // 工序名称
  processName: "",
  // 加工中心编码
  prodCenterNo: "",
  // 加工中心名称
  prodCenter: "",
  // 合同行号
  orderDetailNo: "",
  // 合同类型
  orderType: "",
  // 客户编码
  custNo: "",
  // 客户名称
  custName: "",
  // 产品规范码
  pscCode: "",
  // 产品规范描述
  pscName: "",
  // 物料分类名称
  categoryName: "",
  // 物料编码
  materialCode: "",
  // 物料名称
  materialName: "",
  // 冶金规范码
  mscCode: "",
  // 冶金规范描述
  mscName: "",
  // 产品大类
  prodClassName: "",
  // 品名
  prodName: "",
  // 标准编码
  standCode: "",
  // 标准号
  standNo: "",
  // 钢种编码
  steelGradeCode: "",
  // 钢种
  steelGradeName: "",
  // 交货状态
  delivStatus: "",
  // 规格
  prodSpec: "",
  // 直径(mm)
  soDiameter: 0,
  // 宽(mm)
  soWidth: 0,
  // 厚(mm)
  soThick: 0,
  // 长(mm)
  soLength: 0,
  // 计划交货期
  planDeliverDate: null,
  // 业务员
  salesman: "",
  // 精度要求
  accLevel: "",
  // 短溢装
  moreLess: "",
  // 短溢装规则
  moreLessType: "",
  // 件次号
  batchNoSerial: "",
  // 批号
  batchNo: "",
  // 成品类型
  productType: "",
  // 轴号
  axisCode: "",
  // 箱号
  boxCode: "",
  // 箱总重
  totalWeight: 0,
  // 装箱数
  axialNumber: 0,
  // 轴净重
  weightOfNet: 0,
  // 箱皮重
  weightOfBox: 0,
  // 数量
  prodCount: 0,
  // 数量单位
  countUnit: "",
  // 重量
  prodWg: 0,
  // 重量单位
  wgUnit: "",
  // 质量状态
  qmStatus: "",
  // 业务状态
  busStatus: "",
  // 业务备注
  busMemo: "",
  // 预留字段
  reserveVarchar1: "",
  reserveVarchar2: "",
  reserveVarchar3: "",
  reserveVarchar4: "",
  reserveDecimal1: 0,
};

// 成品入库 API
export const ProdStockInApi = {
  // 查询成品入库分页
  getProdStockInPage: function (params) {
    return request({
      method: "get",
      url: "/wm/prod-stock-in/page",
      params: params,
    });
  },
  //待入库数据查询
  getPackPrintRecord: async (params) => {
    return request({
      method: "get",
      url: "/wm/pack-print-record/getPackPrintRecordForPDA",
      params: params,
    });
  },

  // 查询成品入库详情
  getProdStockIn: function (id) {
    return request({
      method: "get",
      url: "/wm/prod-stock-in/get?id=" + id,
    });
  },
  // 装箱
  loadSdBox: function (data) {
    return request({
      method: "post",
      url: "/wm/prod-stock-real/loadSdBox",
      data: data,
    });
  },

  //查询销售装箱
  getSdBoxList: function (data) {
    return request({
      method: "get",
      url: "/wm/prod-stock-real/getSdBoxList",
      data: data,
    });
  },

  // 拆箱
  unloadSdBox: function (data) {
    return request({
      method: "post",
      url: "/wm/prod-stock-real/unloadSdBox",
      data: data,
    });
  },
  // 新增成品入库
  createProdStockIn: function (data) {
    return request({
      method: "post",
      url: "/wm/prod-stock-in/scanStockIn",
      data: data,
    });
  },

  // 修改成品入库
  updateProdStockIn: function (data) {
    return request({
      method: "put",
      url: "/wm/prod-stock-in/update",
      data: data,
    });
  },

  // 红冲成品入库
  deleteProdStockIn: function (data) {
    return request({
      method: "delete",
      url: "/wm/prod-stock-in/generateRedReverseProdStockIn",
      data: data,
    });
  },

  // 导出成品入库 Excel
  exportProdStockIn: function (params) {
    return request({
      method: "get",
      url: "/wm/prod-stock-in/export-excel",
      params: params,
      responseType: "blob",
    });
  },
};

export default ProdStockInApi;
